package com.tianji.learning.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.tianji.common.domain.dto.PageDTO;
import com.tianji.common.domain.query.PageQuery;
import com.tianji.learning.domain.dto.LearningPlanDTO;
import com.tianji.learning.domain.po.LearningLesson;
import com.tianji.learning.domain.vo.LearningLessonVO;
import com.tianji.learning.domain.vo.LearningPlanPageVO;

/**
 * TODO
 *
 * @Author whx
 * @Date 2024/11/22 18:18
 */
public interface ILearningService extends IService<LearningLesson> {

    /**
     * 查看我最近正在学习的课程
     * @return
     */
    LearningLessonVO now();

    /**
     * 分页查询我的课表
     * @return
     */
    PageDTO<LearningLessonVO> page(PageQuery pageQuery);

    /**
     * 根据id查询某课程学习状态
     * @param courseId
     * @return
     */
    LearningLessonVO getCourseId4LearningLessonVo(Long courseId);

    /**
     * 创建学习计划
     * @param learningPlanDTO
     */
    void createPlans(LearningPlanDTO learningPlanDTO);


    /**
     * 查询我的学习记录
     * @param pageQuery
     * @return
     */
    LearningPlanPageVO pageMyStudyPlans(PageQuery pageQuery);

}
